bitkeeper revision 1.1159.1.364 (418a057eM4RcTJveJTOXENObPg0_SQ)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 4 Nov 2004 10:33:34 +0000 (10:33 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 4 Nov 2004 10:33:34 +0000 (10:33 +0000)
Cset exclude: mwilli2@equilibrium.research|ChangeSet|20041103171613|48470

tools/python/xen/sv/Daemon.py
tools/python/xen/util/Brctl.py
tools/python/xen/util/ip.py
tools/python/xen/xend/Blkctl.py
tools/python/xen/xend/server/SrvDaemon.py
tools/python/xen/xend/server/blkif.py
tools/python/xen/xend/util.py

index 8aeb58720e48fb0cb5fdaf7cbc2d6865e495bbef..510cfa9f04f8eaa9d993c6ce0a017ee6c6e9a60b 100644 (file)
@@ -11,7 +11,6 @@ import sys
 import re
 
 from xen.sv.params import *
-from xen.xend import util
 
 from twisted.internet import reactor
 from twisted.web import static, server, script
@@ -30,7 +29,7 @@ class Daemon:
         cmdex = '(?P<cmd>.*)'
         procre = re.compile('^\s*' + pidex + '\s*' + pythonex + '\s*' + cmdex + '$')
         xendre = re.compile('^/usr/sbin/xend\s*(start|restart)\s*.*$')
-        procs = util.popen('ps -e -o pid,args 2>/dev/null')
+        procs = os.popen('ps -e -o pid,args 2>/dev/null')
         for proc in procs:
             pm = procre.match(proc)
             if not pm: continue
@@ -58,7 +57,7 @@ class Daemon:
             return 0
         # Read the pid of the previous invocation and search active process list.
         pid = open(PID_FILE, 'r').read()
-        lines = util.popen('ps ' + pid + ' 2>/dev/null').readlines()
+        lines = os.popen('ps ' + pid + ' 2>/dev/null').readlines()
         for line in lines:
             if re.search('^ *' + pid + '.+xensv', line):
                 if not kill:
index 569d1b3357f09589ad3f23d857cd2548214c4c5f..7a6f4871dfd25869353dcdf26c98835a65d0adea 100644 (file)
@@ -5,8 +5,6 @@ import os.path
 import re
 import sys
 
-from xen.xend import util
-
 os.defpath = os.defpath + ':/sbin:/usr/sbin:/usr/local/sbin'
 CMD_IFCONFIG = 'ifconfig'
 CMD_ROUTE    = 'route'
@@ -83,7 +81,7 @@ def bridge_del(bridge):
 def routes():
     """Return a list of the routes.
     """
-    fin = util.popen(CMD_ROUTE + ' -n', 'r')
+    fin = os.popen(CMD_ROUTE + ' -n', 'r')
     routes = []
     for x in fin:
         if x.startswith('Kernel'): continue
@@ -104,7 +102,7 @@ def routes():
 def ifconfig(interface):
     """Return the ip config for an interface,
     """
-    fin = util.popen(CMD_IFCONFIG + ' %s' % interface, 'r')
+    fin = os.popen(CMD_IFCONFIG + ' %s' % interface, 'r')
     inetre = re.compile('\s*inet\s*addr:(?P<address>\S*)\s*Bcast:(?P<broadcast>\S*)\s*Mask:(?P<mask>\S*)')
     info = None
     for x in fin:
index d130f194211d1db56c8a7344144698d5eaf68c83..9dd558a178e78c75010b4a06622fa3bdbce52fd9 100644 (file)
@@ -4,8 +4,6 @@ import socket
 import struct
 import errno
 
-from xen.xend import util
-
 def _readlines(fd):
     """Version of readlines safe against EINTR.
     """
@@ -51,7 +49,7 @@ def get_current_ipaddr(dev='eth0'):
 
     returns interface address as a string
     """
-    fd = util.popen( '/sbin/ifconfig ' + dev + ' 2>/dev/null' )
+    fd = os.popen( '/sbin/ifconfig ' + dev + ' 2>/dev/null' )
     lines = _readlines(fd)
     for line in lines:
         m = re.search( '^\s+inet addr:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*',
@@ -69,7 +67,7 @@ def get_current_ipmask(dev='eth0'):
 
     returns interface netmask as a string
     """
-    fd = util.popen( '/sbin/ifconfig ' + dev + ' 2>/dev/null' )
+    fd = os.popen( '/sbin/ifconfig ' + dev + ' 2>/dev/null' )
     lines = _readlines(fd)
     for line in lines:
         m = re.search( '^.+Mask:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*',
@@ -87,7 +85,7 @@ def get_current_ipgw(dev='eth0'):
 
     returns gateway address as a string
     """
-    fd = util.popen( '/sbin/route -n' )
+    fd = os.popen( '/sbin/route -n' )
     lines = _readlines(fd)
     for line in lines:
         m = re.search( '^\S+\s+([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)' +
index f912a42473104329e8f1f0fd75a170bdaa3ff50a..a5bda1947034bd4845952c2427c21c1d71691690 100644 (file)
@@ -5,7 +5,6 @@ import os.path
 import sys
 import string
 
-from xen.xend import util
 from xen.xend import XendRoot
 xroot = XendRoot.instance()
 
@@ -36,7 +35,7 @@ def block(op, type, dets, script=None):
     script = os.path.join(SCRIPT_DIR, script)
     args = [op] + string.split(dets, ':')
     args = ' '.join(args)
-    out = util.popen(script + ' ' + args)
+    out = os.popen(script + ' ' + args)
 
     output = out.readline()
     out.close()
index a95e1124d7ed5134e80b2dfedd2d270ce6930b04..41a5965221734f811f373c52825446a40eb7e559 100644 (file)
@@ -34,7 +34,6 @@ from xen.xend.XendError import XendError
 from xen.xend.server import SrvServer
 from xen.xend import XendRoot
 from xen.xend.XendLogging import log
-from xen.xend import util
 
 import channel
 import blkif
@@ -337,7 +336,7 @@ class Daemon:
         cmdex = '(?P<cmd>.*)'
         procre = re.compile('^\s*' + pidex + '\s*' + pythonex + '\s*' + cmdex + '$')
         xendre = re.compile('^/usr/sbin/xend\s*(start|restart)\s*.*$')
-        procs = util.popen('ps -e -o pid,args 2>/dev/null')
+        procs = os.popen('ps -e -o pid,args 2>/dev/null')
         for proc in procs:
             pm = procre.match(proc)
             if not pm: continue
@@ -383,7 +382,7 @@ class Daemon:
         """
         running = 0
         if pid:
-            lines = util.popen('ps %d 2>/dev/null' % pid).readlines()
+            lines = os.popen('ps %d 2>/dev/null' % pid).readlines()
             exp = '^ *%d.+%s' % (pid, name)
             for line in lines:
                 if re.search(exp, line):
index df326134704f9693353706901d4c8e16f1b071d2..9ca8eab5fe02b51de71dd3f9c46f70ca895c5506 100755 (executable)
@@ -8,7 +8,6 @@ from xen.xend import sxp
 from xen.xend import Blkctl
 from xen.xend.XendLogging import log
 from xen.xend.XendError import XendError, VmError
-from xen.xend import util
 
 import os
 import re
@@ -26,7 +25,7 @@ def expand_dev_name(name):
 def check_mounted(self, name):
     mode = None
     name = expand_dev_name(name)
-    lines = util.popen('mount 2>/dev/null').readlines()
+    lines = os.popen('mount 2>/dev/null').readlines()
     exp = re.compile('^' + name + ' .*[\(,]r(?P<mode>[ow])[,\)]')
     for line in lines:
         pm = exp.match(line)
index 111d8cd011bd5e303bb2624ad5768142c9adde5f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,36 +0,0 @@
-# Misc utility functions for Xend
-# (c) 2004 Mark A. Williamson <mark.williamson@cl.cam.ac.uk>
-
-from twisted.internet import utils
-from twisted.internet import reactor
-from XendLogging import log
-from StringIO import StringIO
-
-# This is rather distasteful.  Twisted doesn't play nicely with Python's
-# standard os.popen, so here's an implementation of a synchronous popen that
-# should work reliably. - MAW
-def popen(cmd):
-    global done_flag, result
-
-    done_flag = False
-    result = ''
-    
-    def done(output):
-        global done_flag, result
-        done_flag = True
-        result = output
-
-    def err(output):
-        global done_flag
-# For normal use, suppress debug output here.  It grumbles about stderr if the
-# program exits with $? != 0, even if stderr is redirected.  Grrr!
-#        log.debug("util.popen(\'%s\'): %s" % (cmd, output))
-        done_flag = True
-
-    d = utils.getProcessOutput(cmd)
-    d.addCallbacks(done, err)
-
-    while not done_flag:
-        reactor.iterate()
-
-    return StringIO(result)